﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Diagnostics.Contracts;
using System.Linq;
using System.Security;
using System.Text;
using System.Threading.Tasks;

namespace Derbster.Domain
{
    public enum OfficialPosition
    {
        HeadReferee,
        HeadNso,
        InsidePackReferee,
        OutsidePackReferee,
        JamReferee,
        JamTimer,
        PenaltyBoxManager,
        PenaltyBox,
        PenaltyWrangler,
        PenaltyTracker,
        ScoreKeeper,
        ScoreBoard,
        Lineup,
        LineupSpotter,
        Alternate
    }

    public class RosteredOfficial
    {
        public RosteredOfficial(Official official, OfficialPosition position)
        {
            Contract.Requires(official != null);
            Official = official;
            OfficialPosition = position;
        }

        [Key,DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        public int RosteredOfficialId { get; internal set; }
       
        public Official Official { get; internal set; }
        public OfficialPosition OfficialPosition { get; internal set; }
    }
}
